﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000A91 RID: 2705
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class LobbySyncInfoScNotify : IMessage<LobbySyncInfoScNotify>, IMessage, IEquatable<LobbySyncInfoScNotify>, IDeepCloneable<LobbySyncInfoScNotify>, IBufferMessage
	{
		// Token: 0x1700221D RID: 8733
		// (get) Token: 0x060078F3 RID: 30963 RVA: 0x00142E23 File Offset: 0x00141023
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<LobbySyncInfoScNotify> Parser
		{
			get
			{
				return LobbySyncInfoScNotify._parser;
			}
		}

		// Token: 0x1700221E RID: 8734
		// (get) Token: 0x060078F4 RID: 30964 RVA: 0x00142E2A File Offset: 0x0014102A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return LobbySyncInfoScNotifyReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x1700221F RID: 8735
		// (get) Token: 0x060078F5 RID: 30965 RVA: 0x00142E3C File Offset: 0x0014103C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return LobbySyncInfoScNotify.Descriptor;
			}
		}

		// Token: 0x060078F6 RID: 30966 RVA: 0x00142E43 File Offset: 0x00141043
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public LobbySyncInfoScNotify()
		{
		}

		// Token: 0x060078F7 RID: 30967 RVA: 0x00142E58 File Offset: 0x00141058
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public LobbySyncInfoScNotify(LobbySyncInfoScNotify other) : this()
		{
			this.memberInfo_ = other.memberInfo_.Clone();
			this.type_ = other.type_;
			this.uid_ = other.uid_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x060078F8 RID: 30968 RVA: 0x00142EA5 File Offset: 0x001410A5
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public LobbySyncInfoScNotify Clone()
		{
			return new LobbySyncInfoScNotify(this);
		}

		// Token: 0x17002220 RID: 8736
		// (get) Token: 0x060078F9 RID: 30969 RVA: 0x00142EAD File Offset: 0x001410AD
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<MemberInfo> MemberInfo
		{
			get
			{
				return this.memberInfo_;
			}
		}

		// Token: 0x17002221 RID: 8737
		// (get) Token: 0x060078FA RID: 30970 RVA: 0x00142EB5 File Offset: 0x001410B5
		// (set) Token: 0x060078FB RID: 30971 RVA: 0x00142EBD File Offset: 0x001410BD
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public LobbyModifyType Type
		{
			get
			{
				return this.type_;
			}
			set
			{
				this.type_ = value;
			}
		}

		// Token: 0x17002222 RID: 8738
		// (get) Token: 0x060078FC RID: 30972 RVA: 0x00142EC6 File Offset: 0x001410C6
		// (set) Token: 0x060078FD RID: 30973 RVA: 0x00142ECE File Offset: 0x001410CE
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Uid
		{
			get
			{
				return this.uid_;
			}
			set
			{
				this.uid_ = value;
			}
		}

		// Token: 0x060078FE RID: 30974 RVA: 0x00142ED7 File Offset: 0x001410D7
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as LobbySyncInfoScNotify);
		}

		// Token: 0x060078FF RID: 30975 RVA: 0x00142EE8 File Offset: 0x001410E8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(LobbySyncInfoScNotify other)
		{
			return other != null && (other == this || (this.memberInfo_.Equals(other.memberInfo_) && this.Type == other.Type && this.Uid == other.Uid && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x06007900 RID: 30976 RVA: 0x00142F48 File Offset: 0x00141148
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			num ^= this.memberInfo_.GetHashCode();
			if (this.Type != LobbyModifyType.None)
			{
				num ^= this.Type.GetHashCode();
			}
			if (this.Uid != 0U)
			{
				num ^= this.Uid.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x06007901 RID: 30977 RVA: 0x00142FB4 File Offset: 0x001411B4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x06007902 RID: 30978 RVA: 0x00142FBC File Offset: 0x001411BC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x06007903 RID: 30979 RVA: 0x00142FC8 File Offset: 0x001411C8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.Uid != 0U)
			{
				output.WriteRawTag(32);
				output.WriteUInt32(this.Uid);
			}
			if (this.Type != LobbyModifyType.None)
			{
				output.WriteRawTag(80);
				output.WriteEnum((int)this.Type);
			}
			this.memberInfo_.WriteTo(ref output, LobbySyncInfoScNotify._repeated_memberInfo_codec);
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x06007904 RID: 30980 RVA: 0x00143034 File Offset: 0x00141234
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			num += this.memberInfo_.CalculateSize(LobbySyncInfoScNotify._repeated_memberInfo_codec);
			if (this.Type != LobbyModifyType.None)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.Type);
			}
			if (this.Uid != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Uid);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x06007905 RID: 30981 RVA: 0x001430A0 File Offset: 0x001412A0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(LobbySyncInfoScNotify other)
		{
			if (other == null)
			{
				return;
			}
			this.memberInfo_.Add(other.memberInfo_);
			if (other.Type != LobbyModifyType.None)
			{
				this.Type = other.Type;
			}
			if (other.Uid != 0U)
			{
				this.Uid = other.Uid;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x06007906 RID: 30982 RVA: 0x00143101 File Offset: 0x00141301
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x06007907 RID: 30983 RVA: 0x0014310C File Offset: 0x0014130C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 32U)
				{
					if (num != 80U)
					{
						if (num != 106U)
						{
							this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
						}
						else
						{
							this.memberInfo_.AddEntriesFrom(ref input, LobbySyncInfoScNotify._repeated_memberInfo_codec);
						}
					}
					else
					{
						this.Type = (LobbyModifyType)input.ReadEnum();
					}
				}
				else
				{
					this.Uid = input.ReadUInt32();
				}
			}
		}

		// Token: 0x04002E49 RID: 11849
		private static readonly MessageParser<LobbySyncInfoScNotify> _parser = new MessageParser<LobbySyncInfoScNotify>(() => new LobbySyncInfoScNotify());

		// Token: 0x04002E4A RID: 11850
		private UnknownFieldSet _unknownFields;

		// Token: 0x04002E4B RID: 11851
		public const int MemberInfoFieldNumber = 13;

		// Token: 0x04002E4C RID: 11852
		private static readonly FieldCodec<MemberInfo> _repeated_memberInfo_codec = FieldCodec.ForMessage<MemberInfo>(106U, EggLink.DanhengServer.Proto.MemberInfo.Parser);

		// Token: 0x04002E4D RID: 11853
		private readonly RepeatedField<MemberInfo> memberInfo_ = new RepeatedField<MemberInfo>();

		// Token: 0x04002E4E RID: 11854
		public const int TypeFieldNumber = 10;

		// Token: 0x04002E4F RID: 11855
		private LobbyModifyType type_;

		// Token: 0x04002E50 RID: 11856
		public const int UidFieldNumber = 4;

		// Token: 0x04002E51 RID: 11857
		private uint uid_;
	}
}
